#ifndef COMPAS_H
#define COMPAS_H

#include <QVariant>
#include <QList>
#include "notacompas.h"
#include "datos.h"

class Compas : public Datos
{
public:
	Compas();
	~Compas();

	//void agregarNota(NotaCompas nota);

	QString getNombre() const { return nombre; }
	void setNombre(QString nombre) { this->nombre = nombre; }
	int getNumeroPulsos() const { return numeroPulsos; }
	void setNumeroPulsos(int numeroPulsos) { this->numeroPulsos = numeroPulsos; }

	int getNumeroNotas() const { return listaNotas.size(); }
	NotaCompas getNota(int indice) const { return listaNotas.at(indice); }

	QList<NotaCompas> getListaNotas() const { return listaNotas; }
	void setListaNotas(const QList<NotaCompas>& listaNotas);

	// Iterfaz Datos
	QVariant get(const QString& nombreAtributo) const;
    int getAncho(const QString& nombreAtributo) const;

    void serializar(QDomElement& elemento) const;
    void deserializar(const QDomElement& elemento);

private:
	QString nombre;
    int numeroPulsos;
	QList<NotaCompas> listaNotas;	
};

#endif // COMPAS_H
